According to Information Theory, substantial improvements in transmission bit rate can be achieved by using multiple-antenna arrays at the transmitting end, the receiving end or both in a communication system.
A wireless communication system having space-time architecture and using multiple-antenna arrays at both the transmitting and receiving ends is shown in FIG. 1. The system operates under the Rayleigh scattering environment, and each element of the channel matrix is, to a reasonable approximation, assumed to be statistically independent. In the system of FIG. 1, a data sequence is divided into M uncorrelated subsequences of symbols, with each sub-sequence transmitted by one of the M transmitting antennas. The M sub-sequences are received by N receiving antennas at the receiving end after passing through a channel with a channel matrix H. The transmitted signals s1, . . . , sM are respectively transmitted from M distinct antenna elements a-1, . . . , a-M, and the corresponding received signals x1, . . . , xN are respectively received from N distinct antenna elements b-1, . . . , b-N. In this system, the number of transmitting antenna elements M is at least 2, and the number of receiving antenna elements N is at least M. The channel matrix H is an N×M matrix in which the element in the ith row and jth column represents the coupling, through the propagation channel, between the ith receiving antenna element and the jth transmitting antenna element. The received signals x1, . . . , xN are processed in a digital signal processor to produce recovered transmitted signals ŝ1, . . . , ŝm. Also shown in FIG. 1 are the components c-1, c-2, . . . , c-N for summation, which represent noise signals w1, w2, . . . , wN inevitably included in the received signals, there noise signals are added to the signals received by the receiving antenna elements b-1, b-2, . . . , b-N, respectively.
In the above-described system, signals transmitted from the multiple antennas at the transmitting end are detected one by one at the receiving end according to an optimal ordering. In detecting the transmitted signals one by one, a nulling vector is applied to each transmitted signal under detection to cancel the interference from other transmitted signals to be detected, thereby obtaining an estimate of the signal under detection.
A system shown in FIG. 1 is employed in a U.S. Pat. No. 6,600,796, in which, Minimum Mean-Square Error (MMSE) estimate ŝ of the transmitted signals s is obtained by using the pseudoinversion of an augmented matrix that includes H as a sub-matrix. Accordingly,
            s      ^        =                            [                                                    H                                                                                                          α                                    ⁢                                      I                    M                                                                                ]                +            ⁡              [                                            x                                                          0                                      ]              ,wherein “+” denotes matrix pseudoinversion. The ith row of the first N columns of the pseudoinverse matrix
      [                            H                                                                α                        ⁢                          I              M                                            ]    +is the MMSE nulling vector of the ith detected transmitted signal.
In this U.S. patent, the nulling vector is derived from matrices of P1/2 and Qα, wherein P1/2(P1/2)H=P. P is the estimate error covariance matrix e=s−ŝ, which is obtained by normalizing the variance of the additive Gaussian white noise to 1, and P=E{(s−ŝ)(s−ŝ)H}=(αI+HHH)−1, P1/2 is the square root matrix of the estimate error covariance matrix, where in H denotes the conjugate transposition of a matrix and α is a constant based on the Signal to Noise Ratio (SNR) of the transmitted signals.
The flowchart of the procedure for detecting the transmitted signals disclosed in the above U.S. patent is shown in FIG. 2, wherein the procedure comprises the following steps:
At step 201: the initial values of the matrices P1/2 and Qα are derived by iteration using the pseudoinverse matrix related to the channel matrix H. The following sub-steps 201-1˜201-3 are further included in this step:
201-1: P1/2 is initialized by setting
            P      0              1        /        2              =                  1                  α                    ⁢      I        ,where I is an M×M identity matrix and α is the constant based on the SNR of the transmitted signals, and Qα is initialized by setting Q0=0(N×M), where 0(N×M) is an N×M matrix whose entries are all zeroes. The iteration order is designated with i whose initial value is set to be 1, and N iterations will be performed in total.
201-2: a matrix Xi of dimension (N+M+1)×(M+1) is defined for the ith iteration (1≦i≦N) based on Pi−11/2, Qi−1 and the channel matrix H:
            X      i        =          [                                    1                                                              H                i                            ⁢                              P                                  i                  -                  1                                                  1                  /                  2                                                                                          0                                              P                              i                -                1                                            1                /                2                                                                                        -                              e                i                                                                        Q                              i                -                1                                                        ]        ,
wherein, 0M is a column vector whose M entries are all zeroes, ei is the ith unit column vector of dimension N, and Hi is the ith row of the channel matrix H.
The matrix Xi is block lower triangularized with a unitary transformation, that is, all the entries of the first row except for the entry at the first column are zeroes after the transformation, thereby obtaining a matrix
      Y    i    ,            Y      i        =          [                                    ×                                              0              M              T                                                            ×                                              P              i                              1                /                2                                                                          ×                                              Q              i                                          ]        ,wherein, the last M entries of the first row of Yi are all zeroes. The matrices Pi1/2 and Qi derived from the ith iteration is included in the matrix Yi after transformation.
201-3: i is incremented by 1 and it is determined whether i is equal to N. If i is equal to N, the initial values of P1/2 and Qα after N iterations are obtained; otherwise, the process returns back to sub-step 201-2 and the next iteration is performed.
The initial P1/2 derived by the above iteration is not a diagonal matrix.
The order of the signals to be detected is denoted by J, which is set to be equal to M. Then the process proceeds to the following procedure for detecting the transmitted signals.
At step 202: the next transmitted signal to be detected is identified via the matrix P1/2. The one with the maximum receiving SNR of the transmitted signals to be detected is the next transmitted signal to be detected. The row vector with the minimum-length of the matrix P1/2 corresponds to the optimal transmitted signal to be detected, which has the maximum receiving SNR.
At step 203: the nulling vector for the next transmitted signal to be detected, which is identified at step 202, is computed using P1/2 and Qα. The following are sub-steps 203-1˜203-3 of this step:
203-1: the row with the minimum-length of the matrix P1/2 identified in step 202 is permuted with the last row, and the indices of the signal vectors are renumbered. At the same time, the column corresponding to the optimal transmitted signal to be detected selected at step 202 is permuted with the last column.
203-2: the matrix P1/2 is block upper triangularized with a unitary transformation Σ. All the entries except for the last one in the last row of the unitary transformed P1/2 are all zeroes. Qα is updated to QαΣ after being applied the unitary transformation Σ.
203-3: the nulling vector for the transmitted signal to be detected is obtained, which is the product of the last entry of the last row of the matrix P1/2 by the last row of the conjugate transposition QαH of Qα.
At step 204: the estimate of the transmitted signal to be detected is derived from the product of the corresponding nulling vectors with the vectors {right arrow over (x)}J of the received signal, and ŝJ is obtained through quantifying the estimate.
At step 205: P1/2 is substituted by a sub-matrix of P1/2 and Qα is substituted by a sub-matrix of Qα. The effect of the transmitted signal that are already detected is cancelled from the received signals, thus giving {right arrow over (x)}(J−1)={right arrow over (x)}J−h:JŝJ. Then the order of the transmitted signal to be detected is decreased by 1, that is, J is reduced by 1.
At step 206: it is determined whether the last transmitted signal is detected, i.e., whether J is equal to zero. If J is equal to zero, then the procedure is finished; otherwise, it returns back to step 202 and detects the next signal according to the above procedure.
It is described in “An Improved Square-root Algorithm for BLAST” published at IEEE Signal Processing Letters Vol. 11, No. 9, 2004 that the nulling vectors can be obtained through the MMSE filter related to the channel matrix H. Specifically, in this method, only the initial value of P1/2 is computed. The nulling vector for each signal detection is obtained from the product of one entry and one vector of the updated P1/2 and the channel matrix H with original or reduced size. That nulling vector is computed using the following equation: GM=PM1/2[(PM(M−1)/2)H (pM1/2)H]HH, wherein the meaning of P1/2 and its initialization are the same as that described in U.S. Pat. No. 6,600,796.
Based on the above description, it can be seen that, in the related art, the signal detection method in the digital wireless communication system with multiple-antenna described in the U.S. patent and IEEE paper suffers the following disadvantages:
(1) In the U.S. patent and IEEE paper, the initial value of P1/2 for the M transmitted signals to be detected is recursively computed by using a matrix of dimension M×M. The intermediate result for each recursion is a matrix of dimension M×M, thus the computational load for computing the initial value of P1/2 is heavy.
(2) In the US patent and IEEE paper, the entries of the initial matrix of P1/2 used to compute the nulling vector are non-zeroes, thus the computational load during signal detection is heavy.
(3) In the U.S. patent and IEEE paper, P1/2 is block upper triangularized for each recursion during the signal detection and a sub-matrix of the block upper triangularized P1/2 is used to detect the next signal. Since the sub-matrix is not a block upper triangularized matrix, the nulling vectors required in the signal detection can only be obtained after performing block upper triangularization on the sub-matrix. Therefore, the computational load during signal detection is heavy.
(4) In the IEEE paper, the nulling vectors are computed using GM=pM1/2[(PM(M−1)/2)H (pM1/2)H]HH during signal detection. The estimate of the detected signals is obtained from the product of the nulling vectors with the vector for the received signals. After that, the interference of the detected signals is cancelled from the received signals by updating the vector for the received signals using {right arrow over (x)}(J−1)={right arrow over (x)}J−h:JŝJ. Then the updated vector for the received signals is used for the detection of the next signal. In the above procedure, the computation of GM=pM1/2[(PMM−1)/2)H (pM1/2)H]HH for obtaining the nulling vectors is of heavy computational load.